import { EntityBase } from 'ibiz-core';
import { IORDER1 } from '../interface';

/**
 * 订单基类
 *
 * @export
 * @abstract
 * @class ORDER1Base
 * @extends {EntityBase}
 * @implements {IORDER1}
 */
export abstract class ORDER1Base extends EntityBase implements IORDER1 {
    /**
     * 实体名称
     *
     * @readonly
     * @type {string}
     * @memberof ORDER1Base
     */
    get srfdename(): string {
        return 'ORDER1';
    }
    get srfkey() {
        return this.order1id;
    }
    set srfkey(val: any) {
        this.order1id = val;
    }
    get srfmajortext() {
        return this.order1name;
    }
    set srfmajortext(val: any) {
        this.order1name = val;
    }
    /**
     * 订单标识
     */
    order1id?: any;
    /**
     * 订单名称
     */
    order1name?: any;
    /**
     * 建立人
     */
    createman?: any;
    /**
     * 建立时间
     */
    createdate?: any;
    /**
     * 更新人
     */
    updateman?: any;
    /**
     * 更新时间
     */
    updatedate?: any;
    /**
     * 合计金额
     */
    hjje?: any;
    /**
     * 备注
     */
    bz?: any;
    /**
     * 开单日期
     */
    kdrq?: any;
    /**
     * 销售平台标识
     */
    saleplatformid?: any;
    /**
     * 订单类型
     *
     * @type {('necessary' | 'toy' | 'food')} necessary: 日用品, toy: 玩具, food: 食品
     */
    ordertype?: 'necessary' | 'toy' | 'food';
    /**
     * 客户1ID
     */
    customer1_id?: any;
    /**
     * 客户1姓名
     */
    customer1_name?: any;
    /**
     * 客户2ID
     */
    customer2_id?: any;
    /**
     * 客户2姓名
     */
    customer2_name?: any;
    /**
     * IP地址
     */
    ip?: any;
    /**
     * 数值属性
     */
    number?: any;
    /**
     * 结单日期
     */
    jdrq?: any;
    /**
     * 属性1
     */
    field1?: any;
    /**
     * 属性2
     */
    field2?: any;
    /**
     * 属性3
     */
    field3?: any;
    /**
     * 属性4
     */
    field4?: any;
    /**
     * 属性5
     */
    field5?: any;
    /**
     * 属性6
     */
    field6?: any;
    /**
     * 属性7
     */
    field7?: any;
    /**
     * 属性8
     */
    field8?: any;
    /**
     * 属性9
     */
    field9?: any;
    /**
     * 数值2
     */
    number2?: any;
    /**
     * 数值
     */
    number3?: any;
    /**
     * HTML测试
     */
    htmltest?: any;
    /**
     * 订单详细（单）
     */
    detailid?: any;
    /**
     * 订单详细（多）
     */
    detailids?: any;
    /**
     * 步骤
     */
    stepstatus?: any;
    /**
     * 属性
     *
     * @type {(1 | 0)} 1: 是, 0: 否
     */
    yesno?: 1 | 0;
    /**
     * 属性10
     */
    field10?: any;
    /**
     * 属性11
     */
    field11?: any;
    /**
     * 属性12
     */
    field12?: any;
    /**
     * 属性13
     */
    field13?: any;
    /**
     * 属性14
     */
    field14?: any;
    /**
     * 属性15
     */
    field15?: any;
    /**
     * 属性16
     */
    field16?: any;
    /**
     * 客户标识
     */
    customerid?: any;

    /**
     * 重置实体数据
     *
     * @private
     * @param {*} [data={}]
     * @memberof ORDER1Base
     */
    reset(data: any = {}): void {
        super.reset(data);
        this.order1id = data.order1id || data.srfkey;
        this.order1name = data.order1name || data.srfmajortext;
    }
}
